package com.fly.clientConfig;

import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import com.fly.clientConfig.dao.HelloDao;
import com.fly.clientConfig.util.Hello;
// springboot
@SpringBootApplication
@RestController
// eureka
@EnableDiscoveryClient
@EnableEurekaClient
//配置中心，刷新配置时候@value生效
@RefreshScope
// 定时任务
//@EnableScheduling
public class MClientConfigApplication {

	public static void main(String[] args) {
		SpringApplication.run(MClientConfigApplication.class, args);
	}

	@Autowired
	private HelloDao dao;
	
	@Value("${spring.datasource.dbcp2.initial-size}")
	private String str;
	
	@GetMapping("/hello/{id}")
	public String query(@PathVariable String id) {
//		int a = 1/0;//熔断测试，熔断不是报错，是超时
		Optional<Hello> findById = dao.findById(id);
		Hello hello = findById.get();
		System.err.println(hello.toString()+str);
		return hello.toString()+str;
	}
	
}
